# a = 1
#
# def demo():
#     b = 2
#     print("函数内部打印a: ", a)
#     print("函数内部打印b: ", b)
#
# demo()
# print("函数外部打印a: ", a)
# print("函数外部打印b: ", b)

# 局部变量和全局变量
# 从含义上说, 局部变量定义在函数内部, 全局变量定义在函数外部
# 从作用域的角度说
    # 局部变量只能在函数内部使用, 函数执行结束后, 变量会被回收, 不同函数可以有同名的局部变量
    # 全局变量可以在全局使用 (不论函数内外), 但如果全局变量太多可能导致不好维护
# 局部变量是在函数内部定义的变量, 只能在函数内部使用

# 注意
# 局部变量和全局变量是个相对的概念, 示例中的局部是函数内部, 全局是文件全局
# 未来大家可能会接触到作用域更大的变量, 比如整个项目都可以使用的, 这种也是全局变量

# 如何在函数内部修改全局变量
# 在函数内部定义与全局变量同名的变量时, 两个变量是不同的, 并不能直接修改全局变量
# a = 1
#
# def demo():
#     a = 2
#
# demo()
# print(a)

# 可以使用 global 关键字引用全局变量
b = 1

def demo():
    global b
    b = 2

demo()
print(b)



